System and method for health data management with wearable devices

ABSTRACT

Disclosed embodiments provide techniques for identifying gaps in health management data, and combining an estimated data subset with the health management data to fill in gaps in the health management data. The health management data can be derived from a wearable electronic fitness tracking device such as a smart watch or pedometer. The estimated data subset can be derived based on historical data for the individual, average data for a demographic group, crowdsourced, or estimated based on user profile information, and/or portable electronic device information, such as from a smartphone belonging to a user. The estimated data subset is combined with the health management data to form a revised health parameter dataset. The estimated data subset may be sent to a wearable electronic fitness tracking device, which causes the wearable electronic fitness tracking device to initiate a fitness program adjustment based on the revised health parameter dataset.

FIELD OF THE INVENTION

This invention relates generally to health data management, and moreparticularly, to systems and methods for health data management withwearable devices.

BACKGROUND

Many people use wearable devices, such as fitness trackers, to trackbiometric data. Typically, the device is worn as a bracelet or necklace,such that a sensor is touching the user's body. The sensor is includedin the device to measure steps the user takes, heart rate of the user,pulse of the user, and other similar data. Fitness trackers are used tomonitor progress in, for example, an exercise routine, a distancetraveled each day, or other metrics. The data from such fitness trackersis becoming increasingly important for health and wellness assessments.Accordingly, there exists a need for improvements in fitness trackingdevices and systems.

SUMMARY

In one embodiment, there is provided a computer implemented method forhealth data management, comprising: detecting a data gap from a healthparameter dataset associated with a user; determining a time durationcorresponding to the data gap; computing an estimated data subset forthe data gap; and combining the estimated data subset with the healthparameter dataset to create a revised health parameter dataset.

In another embodiment, there is provided an electronic computationdevice comprising: a processor; a memory coupled to the processor, thememory containing instructions, that when executed by the processor,perform the steps of: detecting a data gap from a health parameterdataset associated with a user; determining a missing data time durationcorresponding to the data gap; computing an estimated data subset forthe data gap; and combining the estimated data subset with the healthparameter dataset to create a revised health parameter dataset.

In yet another embodiment, there is provided a computer program productfor an electronic computation device comprising a computer readablestorage medium having program instructions embodied therewith, theprogram instructions executable by a processor to cause the electroniccomputation device to: detect a data gap from a health parameter datasetassociated with a user; determine a missing data time durationcorresponding to the data gap; compute an estimated data subset for thedata gap; and combine the estimated data subset with the healthparameter dataset to create a revised health parameter dataset.

BRIEF DESCRIPTION OF THE DRAWINGS

Features of the disclosed embodiments will be more readily understoodfrom the following detailed description of the various aspects of theinvention taken in conjunction with the accompanying drawings.

FIG. 1 is a diagram of an environment for embodiments of the presentinvention.

FIG. 2 is a block diagram of a client device in accordance withembodiments of the present invention.

FIG. 3 is a block diagram of a wearable electronic fitness trackingdevice in accordance with embodiments of the present invention.

FIG. 4A shows an example of a data gap from a health parameter dataset.

FIG. 4B shows an example of a revised health parameter dataset based onthe health parameter dataset of FIG. 4A.

FIG. 5A shows another example of a data gap from a health parameterdataset.

FIG. 5B shows an example of a revised health parameter dataset based onthe health parameter dataset of FIG. 5A.

FIG. 6A shows another example of a data gap from a health parameterdataset.

FIG. 6B shows an example of a revised health parameter dataset based onthe health parameter dataset of FIG. 6A.

FIG. 7 shows an example of a confirmation user interface for a data gapin accordance with embodiments of the present invention.

FIG. 8 shows an example of a fitness program adjustment based on arevised health parameter dataset, in accordance with embodiments of thepresent invention.

FIG. 9 shows examples of data structures used with embodiments for thepresent invention.

FIG. 10 is a flowchart indicating process steps for embodiments of thepresent invention.

The drawings are not necessarily to scale. The drawings are merelyrepresentations, not necessarily intended to portray specific parametersof the invention. The drawings are intended to depict only exampleembodiments of the invention, and therefore should not be considered aslimiting in scope. In the drawings, like numbering may represent likeelements. Furthermore, certain elements in some of the figures may beomitted, or illustrated not-to-scale, for illustrative clarity.

DETAILED DESCRIPTION

Fitness trackers are used to monitor progress in physical activity. Itcan be difficult to accurately monitor such progress when sometimes auser will forget to wear the fitness tracker, or the fitness tracker maymalfunction, etc. This leaves missing data. Accordingly, there exists aneed for improvements in fitness tracking devices and systems.

Disclosed embodiments provide techniques for identifying gaps in healthmanagement data, and combining an estimated data subset with the healthmanagement data to fill in gaps in the health management data. Thehealth management data can be derived from a wearable electronic fitnesstracking device such as a smart watch or pedometer. The estimated datasubset can be derived based on historical data for the individual,average data for a demographic group, crowdsourced, or estimated basedon user profile information, and/or portable electronic deviceinformation, such as from a smartphone belonging to a user. Theestimated data subset is combined with the health management data toform a revised health parameter dataset. The estimated data subset maybe sent to a wearable electronic fitness tracking device, which causesthe wearable electronic fitness tracking device to initiate a fitnessprogram adjustment based on the revised health parameter dataset.

Reference throughout this specification to “one embodiment,” “anembodiment,” “some embodiments”, or similar language means that aparticular feature, structure, or characteristic described in connectionwith the embodiment is included in at least one embodiment of thepresent invention. Thus, appearances of the phrases “in one embodiment,”“in an embodiment,” “in some embodiments”, and similar languagethroughout this specification may, but do not necessarily, all refer tothe same embodiment.

Moreover, the described features, structures, or characteristics of theinvention may be combined in any suitable manner in one or moreembodiments. It will be apparent to those skilled in the art thatvarious modifications and variations can be made to the presentinvention without departing from the spirit and scope and purpose of theinvention. Thus, it is intended that the present invention cover themodifications and variations of this invention provided they come withinthe scope of the appended claims and their equivalents. Reference willnow be made in detail to the preferred embodiments of the invention.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of this disclosure.As used herein, the singular forms “a”, “an”, and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. Furthermore, the use of the terms “a”, “an”, etc., do notdenote a limitation of quantity, but rather denote the presence of atleast one of the referenced items. The term “set” is intended to mean aquantity of at least one. It will be further understood that the terms“comprises” and/or “comprising”, or “includes” and/or “including”, or“has” and/or “having”, when used in this specification, specify thepresence of stated features, regions, integers, steps, operations,elements, and/or components, but do not preclude the presence oraddition of one or more other features, regions, or elements.

FIG. 1 is a diagram 100 of an environment for embodiments of the presentinvention. Health data management server 126 has a processor 140, memory142, and storage 144. Memory 142 includes instructions thereon, whichwhen executed by the processor perform steps of the present invention.Server 126 is an electronic computation device. Server 126 is incommunication with network 124. Network 124 may be the Internet, a widearea network, a local area network, or other suitable network.

Mobile device 104 is in communication with server 126 through thenetwork 124. Mobile device 104 may be a smartphone, tablet computer,laptop computer, or other suitable device. Wearable device 110 is incommunication with mobile device 104 via near field communication, suchas Bluetooth® or other suitable interface. The wearable device 110 maybe attached to a user's body at the wrist with a band like a watch.Alternatively, the wearable device 110 may be attached to a user's bodyaround the neck with a tether like a necklace. Yet further, the wearabledevice 110 may be attached to a user's body around a finger like a ring.Any suitable wearable device attachment mechanism is included within thescope of the invention. Mobile device 104 has a screen 107 on which datamay be shown. In the example, on screen 107, there is shown comment 106,which says, “You did 8,973 steps this week!” and a graph 108 of thedata.

In some embodiments, calendar system 164 is also in communication withserver 126 through the network 124. Calendar system 164 may include acalendaring software program. The program may maintain a user'sschedule, such as dates and times of workouts, meetings, or other items.In the example, the user has on its schedule a meeting at entry 172 at10 am, a jog at entry 174 at 11 am, a lunch at entry 176 at 1:30 pm, anda phone call at entry 178 at 4:30 pm.

In some embodiments, social media system 166 is also in communicationwith server 126 through the network 124. Social media system 166 mayallow various users to create accounts to which they can post personalinformation. The user's account includes a profile where the informationis displayed and can, in some cases, be viewed by other users. Examplesof social media systems include but are not limited to Facebook®,Twitter®, LinkedIn®, or other suitable system. A user may post text,images, videos, or other items of content to his/her account for otherusers to see. In the example, the user has made one post 182 to his/heraccount, which recites, “Doing 5K run on the boulevard at 8:30 am onJune 1.”

Embodiments may utilize computerized natural language processing to readcalendar entries that pertain to fitness events from calendar system 164or social media system 166 that is associated with a user to identifypossible data gaps. An entry can include one or more keywords. Inembodiments, a machine learning natural language analysis of the text inthe entry is performed. The natural language analysis may include, butis not limited to, indexing, concordance, stop word processing, bigramprocessing, dispersion analysis, lexical richness analysis (ratio ofdistinct words to total words), disambiguation, part-of-speech analysis,anaphora resolution (the process of identifying what a pronoun or nounphrase refers to), or any other suitable process.

In the example shown in FIG. 1, in entry 174 on the calendar,embodiments can detect the word “jogging.” In post 182 on the socialmedia system, embodiments can detect the word “run.” The server can,using natural language processing, detect keywords associating an eventindicating some activity that day (since jogging or a run would meanthat many steps should be detected). Accordingly, if there is a data gapthat day, embodiments supplement the health parameter dataset withestimated data. In some embodiments, the supplementation is in responseto detection of the data gap and detection of a simultaneous entryindicating an event. In other embodiments, a confirmation request issent to the user, and supplementation occurs only if the user respondswith a positive affirmation.

FIG. 2 is a block diagram of a client device in accordance withembodiments of the present invention. Device 200 is a mobile device.Device 200 includes a processor 202, which is coupled to a memory 204.Memory 204 may include dynamic random access memory (DRAM), staticrandom access memory (SRAM), magnetic storage, and/or a read only memorysuch as flash, EEPROM, optical storage, or other suitable memory. Insome embodiments, the memory 204 may not be a transitory signal per se.Memory 204 stores instructions, which when executed by the processor,implement steps of embodiments of the present invention.

Device 200 further includes a near field communication interface 206. Inembodiments, this may be a Bluetooth® transceiver, Zigbee® transceiver,or other suitable interface.

Device 200 further includes an accelerometer 216. The accelerometer maybe a capacitive, piezoelectric resistive, or other suitable type.

Device 200 further includes geolocation receiver 210. The geolocationreceiver can be for a global positioning system (GPS), GLONASS, Galileo,or other suitable system that provides autonomous geo-spatialpositioning.

The device 200 further includes a network interface 212. The networkinterface 212 may be a wireless communication interface that includesmodulators, demodulators, and/or antennas for a variety of wirelessprotocols including, but not limited to, Wi-Fi and/or cellularcommunication protocols for communication over a computer network.

Device 200 further includes a user interface 214, examples of whichinclude a liquid crystal display (LCD), a plasma display, a cathode raytube (CRT) display, a light emitting diode (LED) display, an organic LED(OLED) display, or other suitable display technology. The user interface214 may further include a keyboard, mouse, or other suitable humaninterface device. In some embodiments, user interface 214 may be a touchscreen, incorporating a capacitive or resistive touch screen in someembodiments.

FIG. 3 is a block diagram of a wearable electronic fitness trackingdevice 300 in accordance with embodiments of the present invention.Device 300 includes a processor 302, which is coupled to a memory 304.Memory 304 may include dynamic random access memory (DRAM), staticrandom access memory (SRAM), magnetic storage, and/or a read only memorysuch as flash, EEPROM, optical storage, or other suitable memory. Insome embodiments, the memory 304 may not be a transitory signal per se.Memory 304 stores instructions, which when executed by the processor,implement steps of embodiments of the present invention.

Device 300 further includes a near field communication interface 306. Inembodiments, this may be a Bluetooth® transceiver, Zigbee® transceiver,or another suitable interface.

Device 300 further includes a biometric sensor array 308. In someembodiments, this can be an infrared sensor, an electronic sensor, anaccelerometer, or another suitable type of sensor. In some embodiments,the sensor array may include a pulse sensor, oxygenation sensor,heartrate sensor, temperature sensor, a pedometer, or other suitablesensor. A pulse sensor may use an infrared light. The sensor may detectthe user's pulse by the amount of IR light reflected from thebloodstream. A pedometer may use an accelerometer to detect the swingsof a user's body as s/he walks. Each swing is registered as a step.

Device 300 further includes an accelerometer 316. The accelerometer maybe a capacitive, piezoelectric resistive, or other suitable type.

Device 300 further includes geolocation receiver 310. The geolocationreceiver can be for a global positioning system (GPS), GLONASS, Galileo,or other suitable system that provides autonomous geo-spatialpositioning.

The device 300 further includes a network interface 312. The networkinterface 312 may be a wireless communication interface that includesmodulators, demodulators, and/or antennas for a variety of wirelessprotocols including, but not limited to, Wi-Fi and/or cellularcommunication protocols for communication over a computer network.

Device 300 further includes a user interface 314, examples of whichinclude a liquid crystal display (LCD), a plasma display, a lightemitting diode (LED) display, an organic LED (OLED) display, or othersuitable display technology. The user interface 314 may further includea touch screen (incorporating a capacitive or resistive touch screen insome embodiments), and/or one or more buttons, or other suitable humaninterface device.

FIG. 4A shows an example of a health parameter dataset. The healthparameter dataset is shown on graph 400 with dates on x-axis 402 andsteps detected from a user on y-axis 404. The x-axis indicates days ofthe week for three weeks with an “S,” plus a number, denotes a Sundayand an “Sa,” plus a number, denotes a Saturday, with the other daystherein between. The number indicates first week, second week, thirdweek, etc. In the example, the health parameter dataset includes auser's steps detected from a pedometer of a wearable device 110 (FIG. 1)worn by the user, and sent to server 126 (FIG. 1). Accordingly, thegraph shows the number of steps detected from the user per day. Inembodiments, a data gap (i.e., missing subset of data) is detected inthe health parameter dataset.

In some embodiments, detecting a data gap includes identifying aninstance of a data gap of a time duration that exceeds a predeterminedthreshold. For example, a break of eight hours in a 24-hour period maynot be considered enough to constitute a data gap for pedometer datasince it would be viewed as normal for the user to remove the wearabledevice before sleeping. In contrast, a break of more than one hour for apulse detector may constitute a data gap as it means the device wasprobably removed or broken.

In the example, the duration to trigger a gap is 24 hours. Two data gapsare present in the detected data—A first gap 408 of time duration T1,and a second gap 410 of time duration T2. T1 denotes a gap for twodays—W2 and Th2. T2 denotes a gap for one day (a Friday), F3. The datamay not have been captured for any of a number of reasons. For example,the user may have forgotten to wear the wearable device on one or moreof those days. Alternatively, the wearable device may be broken, or theNFC device within the wearable device is malfunctioning. If the wearabledevice, or a portion thereof, is not working properly, the detection orcommunication of data to the mobile device (and server) may beinterrupted.

FIG. 4B shows an example of a revised health parameter dataset based onthe health parameter dataset of FIG. 4A. In embodiments, gaps in datamay be supplemented with estimated data. In some embodiments, historicalhealth data may be retrieved for the user. and the historical healthdata used as the estimated data subset. Graph 450 shows the gap denotedas T1 in FIG. 4A supplemented with data estimate 458. In someembodiments, the supplemental estimate is calculated by averaging thehistorical data for a predetermined time duration. In the example,historical data of steps for the previous 2.5 weeks (from S1 to Tu2) wasaccessed and an average thereof calculated.

In some embodiments, where the missing health data is the number ofsteps taken, for example, location analysis may be used to fill in datagaps. A first location for the user may be determined where the firstlocation corresponds to a start of the data gap. A second location forthe user may be determined where the second location corresponds to anend of the data gap. A distance between the first location and secondlocation may be determined; and health data may be estimated for theuser based on the distance. The locations for the user may be detectedusing a geolocation receiver 210 of FIG. 2 of the user's mobile device.As an example, embodiments may detect that a user travelled a milebetween the first location and the second location, and compute anestimate of steps taken based on that computed distance as 2,300 steps.This estimate can be based on previous data for that user, average datafor a demographic group, or other suitable data. In some embodiments,estimating health data for the user based on the distance is based onprofile data for the user, such as the user's height or strideinformation. Embodiments estimate a number of steps a user would havetaken if s/he walked the distance between the two locations.

In some embodiments, gaps in the data may only be supplemented if thegap exceeds a predetermined duration. In the example, the predeterminedduration for supplementation is 40 hours. Accordingly, only gap T1 issupplemented since gap T2, at a duration of 24 hours, does not exceedthe 40-hour threshold. Thus, in embodiments, detecting a data gap from ahealth parameter dataset comprises identifying an instance of a data gaptime duration that exceeds a predetermined threshold.

FIG. 5A shows another example of a health parameter dataset. Graph 500shows dates on x-axis 502 and steps detected from a user on y-axis 504.Accordingly, the graph shows the number of steps detected from the userper day. The x-axis indicates days of the week for three weeks with an“S,” plus a number, denotes a Sunday and an “Sa,” plus a number, denotesa Saturday, with the other days therein between. The number indicatesfirst week, second week, third week, etc. In implementations, the stepsare detected from a pedometer of a wearable device worn by the user, andsent to server 126 (FIG. 1). In some embodiments, detecting missing datafrom a health parameter dataset includes identifying a periodic healthparameter pattern, and identifying an instance of a data gap thatoverlaps a period corresponding to the periodic health parameterpattern. In the example, the periodic health parameter pattern is aspike on Saturdays and Sundays. Mondays through Fridays, the healthparameter is around reference point B. The number of steps steeplyincreases on Saturdays and Sundays through to reference point A. Thefirst increase is shown as 508, and the second increase is shown as 510.A data gap 512 is detected. The data gap 512 occurs on S3 (Sunday).

FIG. 5B shows an example of a revised health parameter dataset based onthe health parameter dataset of FIG. 5A. As shown, the section where thedata gap 512 was detected is supplemented with reconstructed data 552.The reconstructed data is at reference point A, since based on thepattern, server 126 (FIG. 1) determines that data captured on Saturdaysand Sundays is usually at reference point A instead of reference point Bor another point.

FIG. 6A shows another example of a health parameter dataset. In theexample, graph 600 is shown with days on the x-axis 602, and intensityon the y-axis 604. On Monday, at 610, 60 minutes of activity isdetected. On Tuesday, at 612, 60 minutes of activity is detected. OnWednesday, at 614, 70 minutes of activity is detected. On Thursday, at616, 11 minutes of activity is detected. On Friday, at 618, 58 minutesof activity is detected.

FIG. 6B shows an example of a revised health parameter dataset based onthe health parameter dataset of FIG. 6A. Embodiments may includeretrieving historical health data for the user. A temporal factor forthe historical health data can be derived. Estimated health data may becomputed for a time duration corresponding to a data gap, based on thetemporal factor. In the example, it is determined that, in general,about 1 hour (60 minutes) of activity is detected per day. Thisdetermination may be based on an average of historical data. OnThursday, though, it is detected that there is a data gap since thedetected 11 minutes of activity is well below the typical duration of 1hour. Accordingly, at 658, 49 minutes is added on Thursday to supplementthe 11 minutes of the day, providing 60 minutes of combined actual andestimated exercise.

FIG. 7 shows an example of a confirmation user interface 700 for a datagap in accordance with embodiments of the present invention. Inembodiments, a user interface for a data gap is shown on mobile device104 (FIG. 1). User interface 700 includes a query 704, which in theexample, recites, Did you do your normal exercise routine yesterday?”Two buttons are shown, including 706 for a positive affirmation/responseand 708 for a negative response. The screen of the mobile device may betouch sensitive, so that a user can select one of the buttons usinghis/her finger or a stylus. Although the options are shown as buttons,in implementations, any suitable user input may be substituted, such asa slider, wheel, or other mechanism. In some embodiments, selection maybe made via a keyboard, mouse, or other hardware.

FIG. 8 shows an example of a fitness program adjustment based on arevised health parameter dataset, in accordance with embodiments of thepresent invention. Some embodiments include sending the revised healthparameter dataset to a wearable electronic fitness tracking device, andinitiating a fitness program adjustment based on the revised healthparameter dataset. User interface 800 shows a summary of data used foran example fitness program adjustment. At 802, the number of stepsdetected is indicated as 11,432. At 804, the number of actual stepsdetected is indicated as 8,822. At 806, the estimated number of steps isindicated as 2,610. At 808, the estimation percent is indicated as29.59%. At 810, the average calorie consumption per day is indicated as2,843. At 812, the average daily heartbeats is indicated as 116,403.Based on the data, server 126 (FIG. 1), computes a new goal at 814. Thenew goal is 12,000 steps for the current week.

FIG. 9 shows examples of data structures used with embodiments for thepresent invention. Four data structures are shown: User profile record940, profile info 950, device info 960 and statistics 970.

User profile record 940 includes profile information field 942, averagestatistics field 944, user identifier 946, and device identifier 948.The user identifier 946 may be an alphanumeric symbolic character setassigned to the user. In some embodiments, the profile data includesheight data. In some embodiments, the profile data includes stride data.Profile info 950 includes height field 952 for the height data, stridefield 954 for the stride data, weight field 956, and gender field 958.Height field 952 includes the user's height. Stride field 954 includesthe length of a user's stride. Weight field 956 includes a user'sweight. Gender field includes a user's gender. This information may beused by server 126 (FIG. 1) in calculating calorie consumption, distancetraversed, and the like.

Statistics 970 includes data collected for the user. In the example,field 972 includes the user's steps per day of 9,200. Field 974 includesheartbeat data of 74 bpm. Field 976 includes daily calorie burn(consumption) of 2,387. These statistics may be measured by a wearabledevice, and may be used in providing estimated data during a data gap.As an example, if a user forgets to wear the device one day, heartbeatdata, caloric burn data, and steps data measured on a previous day maybe used for the estimated data.

The device identifier 948 may be an alphanumeric symbolic character setassigned to the wearable device associated with the user. Device info960 may be used to store data retrieved from the wearable device. Thisdata can include steps 962, heartrate 964, and GPS (distance, speed,and/or location) data 966.

FIG. 10 is a flowchart 1000 indicating process steps for embodiments ofthe present invention. At 1050, a data gap is detected from a healthparameter dataset associated with a user. At 1052, a time durationcorresponding to the data gap is detected. At 1054, an estimated datasubset is computed for the missing data. At 1056, a confirmation userinterface is presented for the data gap. At 1058, a response is receivedfrom the user. At 1060, it is determined, from the user interface,whether the session is confirmed. If the session is not confirmed, at1062, the process ends. If at 1060, there is an affirmativeconfirmation, then at 1064, an estimated data subset is sent to thewearable device. At 1066, the estimated data subset is combined with (asa supplement to) the health parameter dataset to create a revised healthparameter dataset.

As can now be appreciated, disclosed embodiments provide improvements tothe technical field of health data management. Wearable electronicfitness tracking devices such as smart watches can collect vast amountsof data, including, but not limited to, steps taken, heartbeats, caloricexpenditure, sleep patterns, heart rate, and/or other importantbiometric parameters. For various reasons, a user may not be wearinghis/her wearable electronic fitness tracking device for a particularexercise session, or the device can stop working during an exercisesession due to a low battery condition. These events can cause gaps inthe health management dataset. Disclosed embodiments automaticallydetect and fill these gaps by using historical data, user profileparameters, crowdsourcing, and/or other techniques to derive anestimated data subset for the missing data, and combining the estimateddata subset with the health parameter dataset to create a revised healthparameter dataset. This allows a user to obtain a more accurateassessment of fitness activity, which can enable changes in fitnessroutines, thereby increasing the effectiveness of workouts, andimproving overall health.

Some of the functional components described in this specification havebeen labeled as systems or units in order to more particularly emphasizetheir implementation independence. For example, a system or unit may beimplemented as a hardware circuit comprising custom VLSI circuits orgate arrays, off-the-shelf semiconductors such as logic chips,transistors, or other discrete components. A system or unit may also beimplemented in programmable hardware devices such as field programmablegate arrays, programmable array logic, programmable logic devices, orthe like. A system or unit may also be implemented in software forexecution by various types of processors. A system or unit or componentof executable code may, for instance, comprise one or more physical orlogical blocks of computer instructions, which may, for instance, beorganized as an object, procedure, or function. Nevertheless, theexecutables of an identified system or unit need not be physicallylocated together, but may comprise disparate instructions stored indifferent locations which, when joined logically together, comprise thesystem or unit and achieve the stated purpose for the system or unit.

Further, a system or unit of executable code could be a singleinstruction, or many instructions, and may even be distributed overseveral different code segments, among different programs, and acrossseveral memory devices. Similarly, operational data may be identifiedand illustrated herein within modules, and may be embodied in anysuitable form and organized within any suitable type of data structure.The operational data may be collected as a single data set, or may bedistributed over different locations including over different storagedevices and disparate memory devices.

Furthermore, systems/units may also be implemented as a combination ofsoftware and one or more hardware devices. For instance, locationdetermination and alert message and/or coupon rendering may be embodiedin the combination of a software executable code stored on a memorymedium (e.g., memory storage device). In a further example, a system orunit may be the combination of a processor that operates on a set ofoperational data.

As noted above, some of the embodiments may be embodied in hardware. Thehardware may be referenced as a hardware element. In general, a hardwareelement may refer to any hardware structures arranged to perform certainoperations. In one embodiment, for example, the hardware elements mayinclude any analog or digital electrical or electronic elementsfabricated on a substrate. The fabrication may be performed usingsilicon-based integrated circuit (IC) techniques, such as complementarymetal oxide semiconductor (CMOS), bipolar, and bipolar CMOS (BiCMOS)techniques, for example. Examples of hardware elements may includeprocessors, microprocessors, circuits, circuit elements (e.g.,transistors, resistors, capacitors, inductors, and so forth), integratedcircuits, application specific integrated circuits (ASIC), programmablelogic devices (PLD), digital signal processors (DSP), field programmablegate array (FPGA), logic gates, registers, semiconductor devices, chips,microchips, chip sets, and so forth. However, the embodiments are notlimited in this context.

Also noted above, some embodiments may be embodied in software. Thesoftware may be referenced as a software element. In general, a softwareelement may refer to any software structures arranged to perform certainoperations. In one embodiment, for example, the software elements mayinclude program instructions and/or data adapted for execution by ahardware element, such as a processor. Program instructions may includean organized list of commands comprising words, values, or symbolsarranged in a predetermined syntax that, when executed, may cause aprocessor to perform a corresponding set of operations.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, may be non-transitory,and thus is not to be construed as being transitory signals per se, suchas radio waves or other freely propagating electromagnetic waves,electromagnetic waves propagating through a waveguide or othertransmission media (e.g., light pulses passing through a fiber-opticcable), or electrical signals transmitted through a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device. Program data may also bereceived via the network adapter or network interface.

Computer readable program instructions for carrying out operations ofembodiments of the present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computer,or entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of embodiments of the present invention.

These computer readable program instructions may be provided to aprocessor of a computer, or other programmable data processing apparatusto produce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks. These computerreadable program instructions may also be stored in a computer readablestorage medium that can direct a computer, a programmable dataprocessing apparatus, and/or other devices to function in a particularmanner, such that the computer readable storage medium havinginstructions stored therein comprises an article of manufactureincluding instructions which implement aspects of the function/actspecified in the flowchart and/or block diagram block or blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

While the disclosure outlines exemplary embodiments, it will beappreciated that variations and modifications will occur to thoseskilled in the art. For example, although the illustrative embodimentsare described herein as a series of acts or events, it will beappreciated that the present invention is not limited by the illustratedordering of such acts or events unless specifically stated. Some actsmay occur in different orders and/or concurrently with other acts orevents apart from those illustrated and/or described herein, inaccordance with the invention. In addition, not all illustrated stepsmay be required to implement a methodology in accordance withembodiments of the present invention. Furthermore, the methods accordingto embodiments of the present invention may be implemented inassociation with the formation and/or processing of structuresillustrated and described herein as well as in association with otherstructures not illustrated. Moreover, in particular regard to thevarious functions performed by the above described components(assemblies, devices, circuits, etc.), the terms used to describe suchcomponents are intended to correspond, unless otherwise indicated, toany component which performs the specified function of the describedcomponent (i.e., that is functionally equivalent), even though notstructurally equivalent to the disclosed structure which performs thefunction in the herein illustrated exemplary embodiments of theinvention. In addition, while a particular feature of embodiments of theinvention may have been disclosed with respect to only one of severalembodiments, such feature may be combined with one or more features ofthe other embodiments as may be desired and advantageous for any givenor particular application. Therefore, it is to be understood that theappended claims are intended to cover all such modifications and changesthat fall within the true spirit of embodiments of the invention.

What is claimed is:
 1. A wearable electronic fitness tracker device, incommunication with a mobile device that is in communication with asocial media system, the wearable electronic fitness tracker devicecomprising: a processor; a global positioning system (GPS) receiver; amemory coupled to the processor, the memory containing instructions,that when executed by the processor, perform the steps of: receiving auser height value and a user stride value into a user profile; detectinga data gap from a health parameter dataset associated with a user,wherein the data gap is outside of a value predetermined as an amount oftime a user sleeps each day; determining a missing data time durationcorresponding to the data gap; detecting text from a post on a socialmedia system of the user; using natural language processing to analyzethe text in the post; determining keywords, based on the naturallanguage processing; detecting that the keywords are associated with anevent indicating some activity associated with the missing data timeduration that includes steps: in response to the detecting,supplementing the data gap with an estimated data subset based in stepsby: computing an estimated data subset for the data gap, wherein thecomputing of the estimated data subset for the data gap is performed by:determining, using the GPS receiver, a first location for the user,wherein the first location corresponds to a start of the data gap;determining, using the GPS receiver, a second location for the user,wherein the second location corresponds to an end of the data gap;determining a distance between the first location and second location;and estimating a number of steps taken based on the distance, a userheight value, and a user stride value; presenting a confirmation userinterface that includes a query to the user requesting confirmationrelating to the estimated number of steps; combining the estimatednumber of steps, as the data subset with the health parameter dataset tocreate a revised health parameter dataset in response to receivingaffirmative confirmation, relating to the query, as user input; andinitiating a fitness program adjustment based on the revised healthparameter dataset; wherein the electronic fitness tracker includes atether, a wristband, or a ring.
 2. The electronic computation device ofclaim 1, wherein the memory further comprises instructions, that whenexecuted by the processor, perform the step of sending the revisedhealth parameter dataset to a wearable electronic fitness trackingdevice.
 3. The electronic computation device of claim 1, wherein thememory further comprises instructions, that when executed by theprocessor, perform the steps of: identifying a periodic health parameterpattern; and identifying an instance of a data gap that overlaps aperiod corresponding to the periodic health parameter pattern.
 4. Theelectronic computation device of claim 1, wherein the memory furthercomprises instructions, that when executed by the processor, cause theelectronic computation device to detect a data gap from a healthparameter dataset by identifying an instance of a data gap time durationthat exceeds a predetermined threshold.
 5. The electronic computationdevice of claim 1, wherein the memory further comprises instructions,that when executed by the processor, cause the electronic computationdevice to: identify a periodic health parameter pattern; and identify aninstance of a data gap that overlaps a period corresponding to theperiodic health parameter pattern.
 6. The electronic computation deviceof claim 1, wherein the memory further comprises instructions, that whenexecuted by the processor, cause the electronic computation device todetect missing data from a health parameter dataset by: retrievinghistorical health data for the user; and using the historical healthdata as the estimated data subset.
 7. The electronic computation deviceof claim 1, wherein the memory further comprises instructions, that whenexecuted by the processor, cause the electronic computation device tocompute an estimated data subset for the data gap by: retrievinghistorical health data for the user; deriving a temporal factor for thehistorical health data; and computing estimated health data for the timeduration corresponding to the data gap, based on the temporal factor. 8.The electronic computation device of claim 1, wherein the memory furthercomprises instructions, that when executed by the processor, cause theelectronic computation device to: present a confirmation user interfacefor the data gap; and wherein combining the estimated data subset withthe health parameter dataset to create a revised health parameterdataset is performed in response to receiving an affirmativeconfirmation from the confirmation user interface.
 9. A computer programproduct for an electronic fitness tracker device, wherein the electronicfitness tracker device is in communication with a mobile device that isin communication with a social media system, the computer programproduct comprising a computer readable storage medium having programinstructions embodied therewith, the program instructions executable bya processor to cause the electronic fitness tracking device to: receivea user height value and a user stride value into a user profile; detecta data gap from a health parameter dataset associated with a user,wherein the data gap is outside of a value predetermined as an amount oftime a user sleeps each day; determine a missing data time durationcorresponding to the data gap; detecting text from a post on a socialmedia system of the user; using natural language processing to analyzethe text in the post; determining keywords, based on the naturallanguage processing; detecting that the keywords are associated with anevent indicating some activity associated with the missing data timeduration that includes steps: in response to the detecting,supplementing the data gap with an estimated data subset based in stepsby: compute an estimated data subset for the data gap, wherein thecomputing of the estimated data subset for the data gap is performed by:determine, using the GPS receiver, a first location for the user,wherein the first location corresponds to a start of the data gap;determine, using the GPS receiver, a second location for the user,wherein the second location corresponds to an end of the data gap;determine a distance between the first location and second location; andestimate a number of steps taken based on the distance, a user heightvalue, and a user stride value; present a confirmation user interfacethat includes a query to the user requesting confirmation relating tothe estimated number of steps; combine the estimated number of steps, asthe data subset with the health parameter dataset to create a revisedhealth parameter dataset in response to receiving affirmativeconfirmation, relating to the query, as user input; and initiate afitness program adjustment based on the revised health parameterdataset; wherein the electronic fitness tracker includes a tether, awristband, or a ring.
 10. The computer program product of claim 9,wherein the computer readable storage medium includes programinstructions executable by the processor to cause the electroniccomputation device to send the revised health parameter dataset to awearable electronic fitness tracking device.
 11. The computer programproduct of claim 9, wherein the computer readable storage mediumincludes program instructions executable by the processor to cause theelectronic computation device to: identify a periodic health parameterpattern; and identify a data gap that overlaps a period corresponding tothe periodic health parameter pattern.
 12. The computer program productof claim 9, wherein the computer readable storage medium includesprogram instructions executable by the processor to cause the electroniccomputation device to detect a data gap from a health parameter datasetby identifying an instance of a data gap time duration that exceeds apredetermined threshold.
 13. The computer program product of claim 9,wherein the computer readable storage medium includes programinstructions executable by the processor to cause the electroniccomputation device to detect missing data from a health parameterdataset by: retrieving historical health data for the user; and usingthe historical health data as the estimated data subset.
 14. Thecomputer program product of claim 9, wherein the computer readablestorage medium includes program instructions executable by the processorto cause the electronic computation device to: present a confirmationuser interface for the data gap; and wherein combining the estimateddata subset with the health parameter dataset to create a revised healthparameter dataset is performed in response to receiving an affirmativeconfirmation from the confirmation user interface.